package juc.completablefuture.methods.create;

/**
 * @ClassName RunAsyncExample
 * @PackageName juc.completablefuture.methods.create
 * @projectName myThread
 * @Description 
 * @Author games
 * @Date 2025/8/29 上午10:48
 * @Version 1.0
 */

import java.util.concurrent.CompletableFuture;

public class RunAsyncExample {
    public static void main(String[] args) {
        /**
         * 作用：执行一个没有返回值的异步任务。
         * 返回值：一个 CompletableFuture<Void> 对象，表示异步任务的完成状态。
         * 特点：使用默认的 ForkJoinPool.commonPool() 执行器来执行任务。
         */
        // 使用CompletableFuture创建一个异步任务
        CompletableFuture<Void> cf = CompletableFuture.runAsync(() -> {
            // 打印当前执行的线程名称
            System.out.println("Running in " + Thread.currentThread().getName());
        });
        for (int i = 0; i < 10000; i++) {
            CompletableFuture.runAsync(() -> {
                // 打印当前执行的线程名称
                System.out.println("Running in " + Thread.currentThread().getName());
            });
        }
        // 等待任务完成
        cf.join();
    }
}